home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / LET70.SRC < prev    next >
Text File  |  1990-11-06  |  17KB  |  945 lines

  1. ;\|
  2. ;LET70.SRC     Translated from LET70.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3. ;LETTER1  04:26:19 PM  10/ 5/90   |
  4. trap(6|S|TRACE)
  5. define(CURS|A|69||)
  6. define(N_CTR|N|2||)
  7. define(MEMO_CTR2|N|1||)
  8. define(TD|S|8||)
  9. define(MEM_ABV|A|5||)
  10. define(COUNT|N|2||)
  11. define(CNTR6|N|2||)
  12. define(SENT2|A|80||)
  13. define(LETDEL|A|8||)
  14. define(A78|A|78||)
  15. define(TM|A|27||5)
  16. define(CHOICE|N|1||)
  17. define(S1|A|1||)
  18. define(DATEX|S|8||)
  19. define(YES.NO|A|1||)
  20. define(PATCTR|N|4||)
  21. define(AB|A|5||)
  22. define(FLD_SAVE|A|1||)
  23. define(FLD_LCTR|N|2||)
  24. define(NY|A|1||)
  25. define(MEDCTR|N|1||)
  26. define(D1|A|1||)
  27. define(SEXIST|A|1||)
  28. define(NEWX|A|1||)
  29. define(LETTERS|N|2||)
  30. define(RESULT|N|2||)
  31. define(FLD_CNTR|N|2||)
  32. define(CNTR2|N|2||)
  33. define(SPACE|A|1||)
  34. define(CONS_CTR|N|2||)
  35. define(SPACE2|N|3||)
  36. define(CNTR4|N|2||)
  37. define(CNTR3|N|2||)
  38. define(L_CTR|N|2||)
  39. define(CTR|N|1||)
  40. define(CNTR5|N|2||)
  41. date(TD|G)
  42. open(PATIENT||0|EXIT)
  43. open(LETTER||0|EXIT)
  44. open(PROCEDE||0|EXIT)
  45. open(RP||0|EXIT)
  46. open(ABBREV||0|EXIT)
  47. open(RPABBREV||0|EXIT)
  48. open(GPSETUP||0|EXIT)
  49. open(REFER||0|EXIT)
  50. opno(F|"curs.bin"|CURS|69)
  51. rdrec(EXIT)
  52. find(B|HEADING|EXIT)
  53. LETTER:
  54. LETSTART:
  55. gosub CLEARLET
  56. gosub L.TRAP
  57. OBSERVE:
  58. trap(J|G|LETSCR1)
  59. mount(TITLE|S)
  60. enter(REFER||||Y|Y|N|||N)
  61. enter(PN|"PN"||LETSTART|Y|Y|N|||N)
  62. enter(X1.3||||N|Y|N|||N)
  63. LETRELATE:
  64. trap(R|D)
  65. enter(PATIENT.NAME||||Y|Y|N|||N)
  66. find(G|PATIENT.NAME|LETSTART)
  67. RP.REF = (RECORD.NUMBER)
  68. LET.REF = (RECORD.NUMBER)
  69. PROC_REF = (RECORD.NUMBER)
  70. N.2.0.1 = (TD-DATE.OF.BIRTH/365)
  71. find(M|RP.REF|LETNODRUGS)
  72. LETX19:
  73. trap(U|I)
  74. gosub FIND_DOC
  75. LET_DOC = (LET_DOC)
  76. trap(U|D)
  77. enter(X1.10||||Y|Y|N|||N)
  78. enter(MEDICATION1||||Y|N|N|||N)
  79. lnum(PATCTR)
  80. S1 =mid(MEDICATION1|1|1|)
  81. if S1 = ("@") do
  82. {
  83. AB = (MEDICATION1)
  84. gosub LETRPABV
  85. AB = ("")
  86. MEDICATION1 = (RPABBREV.NAME)
  87. just(MEDICATION1|L)
  88. gosub CLRABV
  89. }
  90. trim(MEDICATION1|T)
  91. enter(MEDICATION2||||Y|Y|N|||N)
  92. lnum(PATCTR)
  93. S1 =mid(MEDICATION2|1|1|)
  94. if S1 = ("@") do
  95. {
  96. AB = (MEDICATION2)
  97. gosub LETRPABV
  98. AB = ("")
  99. MEDICATION2 = (RPABBREV.NAME)
  100. just(MEDICATION2|L)
  101. gosub CLRABV
  102. }
  103. enter(U.R|"UR"|||Y|Y|N|||N)
  104. if U.R = ("U") do
  105. {
  106. X2.10 = ("AN URGENT")
  107. trim(X2.10|T)
  108. }
  109. else
  110. {
  111. X2.10 = ("A ROUTINE")
  112. trim(X2.10|T)
  113. }
  114. trap(U|I)
  115. gosub FIND_CON
  116. LET_CON = (LET_CON)
  117. trap(U|D)
  118. trim(X2.19|T)
  119. trap(U|I)
  120. gosub FIND_CLIN
  121. LET_CLIN = (LET_CLIN)
  122. trap(U|D)
  123. trim(X2.15|T)
  124. enter(YN|"YN"|||Y|Y|N|||N)
  125. if YN = ("N") goto X315
  126. enter(TYPE|"A12"|||Y|Y|N|||N)
  127. if TYPE = ("A") then X2.9 = ("AMBULANCE")
  128. if TYPE = ("1") then X2.9 = ("CAR")
  129. if TYPE = ("2") then X2.9 = ("CAR+2")
  130. trim(X2.9|T)
  131. X315:
  132. enter(X3.15||||N|Y|N|||N)
  133. enter(COPY|"YN"|||Y|Y|N|||N)
  134. LETSCR1:
  135. trap(J|G|LETSCR2)
  136. mount(LETTER1S|S)
  137. for(CNTR3|1|22|1)
  138. {
  139. pmsg(SENT1[CNTR3]|1|CNTR3|N|N|S|)
  140. }
  141. pmsg("L--------!---------!---------!---------!---------!---------!---------!--------R"|1|23|N|Y|S|)
  142. for(CNTR3|1|22|1)
  143. {
  144. enter(SENT1[CNTR3]||||N|Y|N|1|CNTR3|N)
  145. if SENT1[CNTR3] > ("") then gosub FIND_SPACE
  146. }
  147. LETSCR2:
  148. trap(J|G|OBSERVE)
  149. mount(LETTER2S|S)
  150. for(CNTR3|23|34|1)
  151. {
  152. CNTR6 = (CNTR3-22)
  153. pmsg(SENT1[CNTR3]|1|CNTR6|N|N|S|)
  154. }
  155. pmsg("L--------!---------!---------!---------!---------!---------!---------!--------R"|1|23|N|Y|S|)
  156. for(CNTR3|23|34|1)
  157. {
  158. CNTR6 = (CNTR3-22)
  159. enter(SENT1[CNTR3]||||N|Y|N|1|CNTR6|N)
  160. if SENT1[CNTR3] > ("") then gosub FIND_SPACE
  161. }
  162. LETSAVE:
  163. trap(Q|I)
  164. gosub LETTRAP
  165. saves(3)
  166. rev
  167. SAVER:
  168. FLD_SAVE = ("Y")
  169. window(1|24|4|78)
  170. pmsg("If you are happy with the letter- please Save it or alter it."|1|1|N|N|S|)
  171. pmsg("Save<Y> or not<N>:"|1|2|N|N|S|)
  172. enter(FLD_SAVE|"YN"|||Y|Y|N|20|2|N)
  173. pmsg(@R;"Print NOW <Y> or NOT <N>:"|1|3|N|N|S|)
  174. YES.NO = ("N")
  175. enter(YES.NO|"YN"|||Y|Y|N|27|3|N)
  176. frg
  177. redsp(3)
  178. trap(Q|G|EXIT)
  179. gosub LETTRAPOFF
  180. if FLD_SAVE = ("Y") do
  181. {
  182. gosub MEMOSUB
  183. save(LETTER|N|Y|LETSCR2)
  184. }
  185. else
  186. {
  187. if YES.NO = ("Y") goto LETPRINT
  188. goto LETTER
  189. }
  190. if YES.NO = ("Y") goto LETPRINT
  191. gosub LETCLR
  192. goto LETSTART
  193. LETPRINT:
  194. trap(I|S|PRINTSTOP)
  195. mount(COPY|S)
  196. find(B|LET.REF|LETSTART|N)
  197. LETPRINT3:
  198. pchr(P|4)
  199. mount(LETTER|R|P)
  200. LETPRINT3X:
  201. pset(120|70|70)
  202. pmsg(%27;%120;%48|||N|N|P|)
  203. pmsg(%27;%71|||N|N|P|)
  204. pchr(P|14)
  205. for(FLD_LCTR|1|6|1)
  206. {
  207. pfmt(FLD_LCTR|||N|N|P)
  208. }
  209. RECORD.NUMBER = (LET.REF)
  210. find(M|RECORD.NUMBER||N)
  211. N.2.0.1 = (TD-DATE.OF.BIRTH/365)
  212. pfmt(7|||N|N|P)
  213. pfmt(8|||N|N|P)
  214. pfmt(9|||N|N|)
  215. pfmt(10|||N|N|)
  216. pfmt(11|||N|N|)
  217. pfmt(13|||N|N|)
  218. pfmt(14|||N|N|)
  219. RP.REF = (RECORD.NUMBER)
  220. FLD_LCTR = (0)
  221. find(M|RP.REF|EXTRAMED|N)
  222. trim(MEDICATION|T)
  223. trim(DOSE|T)
  224. trim(DIRECTIONS|T)
  225. trim(QUANTITY|T)
  226. pfmt(15|||N|N|)
  227. FLD_LCTR = (FLD_LCTR+1)
  228. LETPRMED:
  229. if FLD_LCTR => (6) goto LETTERPR
  230. find(N|RP|LETTERPR|N)
  231. if RP.REF <> (RECORD.NUMBER) goto LETTERPR
  232. if RP.REF = (RECORD.NUMBER) then trim(MEDICATION|T)
  233. trim(DOSE|T)
  234. trim(DIRECTIONS|T)
  235. trim(QUANTITY|T)
  236. pfmt(15|||N|N|)
  237. FLD_LCTR = (FLD_LCTR+1)
  238. goto LETPRMED
  239. LETTERPR:
  240. if MEDICATION1 = ("") then MEDICATION1 = ("NO ALLERGIES RECORDED.")
  241. pfmt(16|||N|N|)
  242. PFMT(48|||N|N|)
  243. pfmt(17|||N|N|)
  244. pfmt(18|||N|N|)
  245. if PN = ("P") do
  246. {
  247. pfmt(12|||N|N|)
  248. PFMT(48|||N|N|)
  249. }
  250. else
  251. {
  252. pfmt(19|||N|N|)
  253. PFMT(48|||N|N|)
  254. }
  255. pfmt(20|||N|N|)
  256. pfmt(21|||N|N|)
  257. if YN = ("N") do
  258. {
  259. pfmt(22|||N|N|)
  260. }
  261. else
  262. {
  263. pfmt(23|||N|N|)
  264. }
  265. pvert(29)
  266. LETPRINT2:
  267. pchr(P|20)
  268. pmsg(""|||N|N|P|)
  269. pmsg("Dear ";X3.15|||N|N|P|)
  270. for(FLD_CNTR|1|34|1)
  271. {
  272. pmsg(SENT1[FLD_CNTR]|||N|N|P|)
  273. }
  274. pvert(67)
  275. PFMT(48|||N|N|)
  276. find(N|LETTER|LETDELETE|N)
  277. goto LETPRINT3X
  278. LETABV:
  279. ABBREVIATION = (AB)
  280. find(M|ABBREVIATION|GET.ABBREV)
  281. goto RET
  282. GET.ABBREV:
  283. gosub LETTRAP
  284. saves(1)
  285. trap(Q|I)
  286. window(10|14|5|60)
  287. pmsg("ABBREVIATION :";ABBREVIATION|1|2|N|N|S|)
  288. pmsg("ENTER ABBREV.NAME:"|1|4|N|N|S|ABBREV.NAME)
  289. if ABBREV.NAME = ("") goto NOABV
  290. save(ABBREV|N|N|GET.ABBREV)
  291. NOABV:
  292. redsp(1)
  293. trap(Q|G|EXIT)
  294. gosub LETTRAPOFF
  295. gosub FINDLINE
  296. RET:
  297. ret
  298. LETRPABV:
  299. RPABBREVIATION = (AB)
  300. find(M|RPABBREVIATION|GET.RPABBR)
  301. goto RETT
  302. GET.RPABBR:
  303. gosub LETTRAP
  304. saves(2)
  305. trap(Q|I)
  306. window(10|16|7|60)
  307. pmsg("ABBREVIATION:";RPABBREVIATION|1|2|N|N|S|)
  308. pmsg("ENTER RPABBREV.NAME:"|1|4|N|N|S|RPABBREV.NAME)
  309. if RPABBREV.NAME = ("") goto NORPABV
  310. pmsg("ENTER WARNING:"|1|6|N|N|S|WARNING)
  311. save(RPABBREV|N|N|GET.RPABBR)
  312. NORPABV:
  313. redsp(2)
  314. trap(Q|G|EXIT)
  315. gosub LETTRAPOFF
  316. gosub FINDLINE
  317. RETT:
  318. ret
  319. CLRABV:
  320. clr(ABBREV|B)
  321. clr(RPABBREV|B)
  322. ret
  323. LETCLR:
  324. clr(LETTER|B)
  325. clr(PATIENT|B)
  326. clr(RP|B)
  327. A78 = ("")
  328. FLD_LCTR = (0)
  329. FLD_SAVE = ("")
  330. ret
  331. LETTRAP:
  332. trap(D|I)
  333. trap(F|I)
  334. trap(R|I)
  335. trap(J|I)
  336. trap(U|I)
  337. trap(W|I)
  338. trap(S|I)
  339. trap(I|D)
  340. ret
  341. LETTRAPOFF:
  342. trap(J|G|LETSCR1)
  343. trap(W|D)
  344. trap(U|D)
  345. trap(F|D)
  346. trap(R|D)
  347. trap(S|G|LETSAVE)
  348. trap(I|D)
  349. ret
  350. LETDELETE:
  351. gosub POKY
  352. mount(COPY|S)
  353. trap(I|D)
  354. saves(10)
  355. rev
  356. trap(Q|I)
  357. gosub LETTRAP
  358. SAVERX:
  359. window(1|24|3|78)
  360. wrap(1)
  361. FLD_SAVE = ("Y")
  362. pmsg("PRINTING FINISHED.YOU ARE ADVISED TO DELETE ALL LETTERS ON FILE UNLESS YOU     WANT TO PRINT THE WHOLE LOT AGAIN! DELETE<Y> OR NO DELETE<N>:"|1|1|N|N|S|)
  363. enter(FLD_SAVE|"YN"||SAVERX|Y|Y|N|64|2|N)
  364. frg
  365. redsp(10)
  366. trap(Q|G|EXIT)
  367. if FLD_SAVE <> ("Y") goto NOTY
  368. if FLD_SAVE = ("Y") then close(LETTER)
  369. LETDEL = ("LETTER")
  370. inifle(LETDEL)
  371. open(LETTER||0|EXIT)
  372. gosub LETCLR
  373. NOTY:
  374. gosub LETTRAPOFF
  375. goto LETSTART
  376. LETNODRUGS:
  377. gosub LETTRAP
  378. saves(5)
  379. rev
  380. trap(Q|I)
  381. NY = ("")
  382. window(1|12|3|78)
  383. pmsg("NO DRUGS ON COMPUTER FILES FOR THIS PATIENT.DO YOU WISH TO ADD THEM Y/N:"|1|2|N|N|S|NY)
  384. frg
  385. redsp(5)
  386. gosub LETTRAPOFF
  387. trap(Q|G|EXIT)
  388. if NY = ("Y") gosub LETMEDADD
  389. goto LETX19
  390. LETEXIT:
  391. run("PATIENT")
  392. LETMEDADD:
  393. clrmem(MED|6)
  394. saves(6)
  395. clrscr
  396. trap(Q|I)
  397. trap(R|I)
  398. window(10|10|3|54)
  399. MEDCTR = (0)
  400. MEDCTR:
  401. MEDCTR = (MEDCTR+1)
  402. pmsg("ENTER MED :"|2|2|N|N|S|MED[MEDCTR])
  403. if MEDCTR = (6) do
  404. {
  405. goto RETMEDCTR
  406. }
  407. if MED[MEDCTR] = ("") goto RETMEDCTR
  408. goto MEDCTR
  409. RETMEDCTR:
  410. redsp(6)
  411. trap(R|I)
  412. trap(Q|G|EXIT)
  413. ret
  414. EXTRAMED:
  415. if MED[1] <> ("") then pfmt(24|||N|N|)
  416. if MED[2] <> ("") then pfmt(25|||N|N|)
  417. if MED[3] <> ("") then pfmt(26|||N|N|)
  418. if MED[4] <> ("") then pfmt(27|||N|N|)
  419. if MED[5] <> ("") then pfmt(28|||N|N|)
  420. if MED[6] <> ("") then pfmt(29|||N|N|)
  421. goto LETTERPR
  422. L.TRAP:
  423. trap(7|I)
  424. trap(9|I)
  425. trap(J|G|LETSCR1)
  426. trap(Q|G|EXIT)
  427. trap(C|I)
  428. trap(S|G|LETSAVE)
  429. trap(F|D)
  430. trap(R|I)
  431. trap(3|I)
  432. trap(M|D)
  433. trap(N|D)
  434. trap(D|I)
  435. trap(I|D)
  436. ret
  437. FINDLINE:
  438. gosub L.TRAP
  439. ret
  440. LETFINDP:
  441. if LET.REF = (RECORD.NUMBER) goto LETRETP
  442. if LET.REF = (0) goto LETRETP
  443. RECORD.NUMBER = (LET.REF)
  444. find(M|RECORD.NUMBER||)
  445. LETRETP:
  446. ret
  447. BACKUP2:
  448. run("recmenu")
  449. POKY:
  450. find(B|LET.REF|EXIT|)
  451. POKY_NEXT:
  452. if LET_DOC = (0) goto NEXT_POKY
  453. if LET_CON = (0) goto NEXT_POKY
  454. if LET_CLIN = (0) goto NEXT_POKY
  455. REF_COD = (LET_DOC)
  456. find(M|REF_COD|MAKE_REF|)
  457. MADE:
  458. CLIN_REF[LET_CLIN] = (CLIN_REF[LET_CLIN]+1)
  459. CONS_REF[LET_CON] = (CONS_REF[LET_CON]+1)
  460. save(REFER|N|Y)
  461. NEXT_POKY:
  462. find(N|LETTER|NO_MORE|)
  463. goto POKY_NEXT
  464. MAKE_REF:
  465. REF_COD = (LET_DOC)
  466. save(REFER|N|Y)
  467. REF_COD = (LET_DOC)
  468. find(M|REF_COD|EXIT|)
  469. goto MADE
  470. NO_MORE:
  471. mount(LETTER2|R|P)
  472. pchr(P|4)
  473. pchr(P|1)
  474. pchr(P|6)
  475. pset(120|140|140)
  476. find(B|LET.REF|COPYRET)
  477. COPYTEST:
  478. RECORD.NUMBER = (LET.REF)
  479. find(M|RECORD.NUMBER||)
  480. if COPY = ("Y") gosub POKYPRINT
  481. find(N|LETTER|COPYRET)
  482. goto COPYTEST
  483. COPYRET:
  484. ret
  485. POKYPRINT:
  486. pmsg(PATIENT.NAME;X1.19;X2.19;TD|||N|N|P|)
  487. for(FLD_LCTR|1|34|1)
  488. {
  489. pmsg(SENT1[FLD_LCTR]|||N|N|P|)
  490. }
  491. ret
  492. PRINTSTOP:
  493. pon(S)
  494. clrlne(1|25)
  495. pmsg("CONTINUE PRINTING OR NOT (Y/N):"|1|12|N|N|S|)
  496. enter(YES.NO|"YN"||PRINTSTOP|Y|Y|N|35|12|N)
  497. if YES.NO <> ("Y") then run("LETTER")
  498. pon(P)
  499. ret
  500. EXIT:
  501. CHOICE = (5)
  502. rev
  503. TM[1] = (" 1 - EXIT             01011")
  504. TM[2] = (" 2 - LETTER           01022")
  505. menu(30|20|3|23|0|TM|CHOICE|2|22|EXIT||"-------GP MENU--------"|N)
  506. frg
  507. on(CHOICE|G|EXIT2;LETTERS|EXIT)
  508. PATIENT:
  509. run("PATIENT")
  510. NEWPRINT:
  511. run("RP")
  512. TRANS:
  513. run("CODE")
  514. EXIT2:
  515. pchr(P|4)
  516. run("recmenu")
  517. LETTERS:
  518. goto LETTER
  519. CLEARLET:
  520. clr(LETTER|B)
  521. clr(PATIENT|B)
  522. clr(RP|B)
  523. clrmem(SENT1|34)
  524. A78 = ("")
  525. ret
  526. TRACE:
  527. break
  528. ret
  529. FIND_SPACE:
  530. SPACE =mid(SENT1[CNTR3]|80|1|)
  531. bin(SPACE|SPACE2|A)
  532. if SPACE2 < (47) ret
  533. FLD_CNTR = (80)
  534. RESULT = (0)
  535. while RESULT = (0)
  536. {
  537. if FLD_CNTR = (1) ret
  538. FLD_CNTR = (FLD_CNTR-1)
  539. RESULT =loc(" "|SENT1[CNTR3]|FLD_CNTR||)
  540. }
  541. LETTERS = (80-RESULT)
  542. RESULT = (RESULT+1)
  543. CNTR5 = (1+CNTR3)
  544. SENT1[CNTR5] =mid(SENT1[CNTR3]|RESULT|LETTERS|)
  545. for(CNTR2|RESULT|80|1)
  546. {
  547. mid(SENT1[CNTR3]|CNTR2|1|" "|)
  548. }
  549. pmsg(@R;SENT1[CNTR3];@N|1|CNTR3|N|Y|S|)
  550. if LETTERS = (0) ret
  551. for(CNTR4|1|LETTERS|1)
  552. {
  553. gosub CURS
  554. }
  555. ret
  556. HOME_KEY:
  557. CNTR3 = (1)
  558. enter(SENT1[CNTR3]||||N|Y|N|1|CNTR3|N)
  559. ret
  560. END_KEY:
  561. CNTR3 = (20)
  562. enter(SENT1[CNTR3]||||N|Y|N|1|CNTR3|N)
  563. ret
  564. TAB_KEY:
  565. for(CNTR4|1|5|1)
  566. {
  567. gosub CURS
  568. }
  569. ret
  570. FIND_DOC:
  571. trap(%|I)
  572. trap(Q|I)
  573. saves(1)
  574. window(1|8|7|26)
  575. for(COUNT|1|5|1)
  576. {
  577. pmsg(COUNT;"  ";RPDOCTOR[COUNT]|1|COUNT|N|N|S|)
  578. }
  579. ENT_AGAIN:
  580. pmsg("NUMBER: "|1|6|Y|N|S|LET_DOC)
  581. if LET_DOC = (0) goto ENT_AGAIN
  582. if LET_DOC > (5) goto ENT_AGAIN
  583. trap(%|D)
  584. trap(Q|G|EXIT)
  585. redsp(1)
  586. X1.19 = (RPDOCTOR[LET_DOC])
  587. ret
  588. FIND_CON:
  589. trap(%|I)
  590. trap(Q|I)
  591. saves(1)
  592. window(1|25|24|50)
  593. CONS_CTR = (1)
  594. for(COUNT|1|22|1)
  595. {
  596. pmsg(CONS_CTR;" ";CONSULTS[CONS_CTR]|1|COUNT|N|N|S|)
  597. CONS_CTR = (CONS_CTR+1)
  598. }
  599. for(COUNT|1|22|1)
  600. {
  601. pmsg(CONS_CTR;" ";CONSULTS[CONS_CTR]|25|COUNT|N|N|S|)
  602. CONS_CTR = (CONS_CTR+1)
  603. }
  604. EX_LET:
  605. pmsg("ENTER NUMBER: "|25|23|Y|N|S|LET_CON)
  606. if LET_CON = (0) goto EX_LET
  607. if LET_CON > (44) goto EX_LET
  608. trap(%|D)
  609. trap(Q|G|EXIT)
  610. redsp(1)
  611. X2.19 = (CONSULTS[LET_CON])
  612. ret
  613. FIND_CLIN:
  614. trap(%|I)
  615. trap(Q|I)
  616. saves(1)
  617. window(1|25|24|50)
  618. CONS_CTR = (1)
  619. for(COUNT|1|22|1)
  620. {
  621. pmsg(CONS_CTR;" ";CLINICS[CONS_CTR]|1|COUNT|N|N|S|)
  622. CONS_CTR = (CONS_CTR+1)
  623. }
  624. for(COUNT|1|22|1)
  625. {
  626. pmsg(CONS_CTR;" ";CLINICS[CONS_CTR]|25|COUNT|N|N|S|)
  627. CONS_CTR = (CONS_CTR+1)
  628. }
  629. EX_LET2:
  630. pmsg("ENTER NUMBER: "|25|23|Y|N|S|LET_CLIN)
  631. if LET_CLIN = (0) goto EX_LET2
  632. if LET_CLIN > (44) goto EX_LET2
  633. trap(%|D)
  634. trap(Q|G|EXIT)
  635. redsp(1)
  636. X2.15 = (CLINICS[LET_CLIN])
  637. ret
  638. MEMOSUB:
  639. MEMO_CTR2 = (1)
  640. PROC_REF = (LET.REF)
  641. if LET.REF = (0) ret
  642. find(M|PROC_REF|STARTCODE2|N)
  643. gosub LINE
  644. SATRT3:
  645. if MEMO_CTR2 = (0) then MEMO_CTR2 = (1)
  646. STARTCODE2:
  647. PROC[MEMO_CTR2] = (REFER+"  "+X2.19+"  "+"LETTER")
  648. PROC_DATE[MEMO_CTR2] = (TD)
  649. PROC_DONE[MEMO_CTR2] = ("Y")
  650. PROC_DOC[MEMO_CTR2] = (LET_DOC)
  651. PROC_UP = (TD)
  652. save(PROCEDE|N|Y)
  653. ret
  654. LINE:
  655. for(MEMO_CTR2|1|6|1)
  656. {
  657. if PROC[MEMO_CTR2] = ("") do
  658. {
  659. if MEMO_CTR2 = (6) do
  660. {
  661. pops
  662. goto SATRT3
  663. }
  664. ret
  665. }
  666. }
  667. CTR = (2)
  668. for(MEMO_CTR2|1|5|1)
  669. {
  670. PROC[MEMO_CTR2] = (PROC[CTR])
  671. PROC_DATE[MEMO_CTR2] = (PROC_DATE[CTR])
  672. PROC_OP[MEMO_CTR2] = (PROC_OP[CTR])
  673. PROC_DOC[MEMO_CTR2] = (PROC_DOC[CTR])
  674. PROC_DONE[MEMO_CTR2] = (PROC_DONE[CTR])
  675. CTR = (CTR+1)
  676. }
  677. PROC[6] = ("")
  678. PROC_DATE[6] = (0)
  679. PROC_OP[6] = ("")
  680. PROC_DOC[6] = ("")
  681. PROC_DONE[6] = ("")
  682. PROC_EX[6] = ("")
  683. goto LINE
  684. ret
  685. \R LETTER  
  686. ┌──────────────────────────────────┐          ┌──────────────────────────────────────────┐
  687. │   &                              │          │              FOR HOSPITAL USE ONLY.      │
  688. │   &                              │          │                                          │
  689. │   &                              │          │CONSULTANT:                               │
  690. │  Tel:&            Fax:           │          │DATE:    /   /       @                    │
  691. └──────────────────────────────────┘          └──────────────────────────────────────────┘
  692.                                   PATIENT DETAILS         Our Ref:&          Date:&
  693.                                   ===============
  694.       &    &                                          HOSPITAL NUMBER: &
  695.            &                                           DATE OF BIRTH : &
  696.            &                      &                               AGE: &
  697.            PATIENT HAS REQUESTED A PRIVATE APPOINTMENT WITH &                  .
  698.                                      MEDICATION
  699.                                      ==========
  700.              &                              &        &          &
  701.              ALLERGIES:&                              : &
  702.                                    PLEASE ARRANGE
  703.                                    ==============
  704.              &          APPOINTMENT WITH &                   AT THE &               CLINIC.
  705.                                       TRANSPORT
  706.                                       =========
  707.                   THE PATIENT DOES NOT REQUIRE TRANSPORT,THANKYOU.
  708.                   THE PATIENT WILL REQUIRE TRANSPORT BY &        .
  709.                                              &
  710.                   &
  711.                   &
  712.                   &
  713.                   &
  714.                   &
  715.  
  716.  
  717.  
  718.                                      Ref:
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734. \
  735. X1.19
  736. PRADDRESS
  737. TOWN
  738. GPTEL
  739. REFER
  740. TD
  741. X1.3
  742. PATIENT.NAME
  743. X1.10
  744. ADDRESS1
  745. DATE.OF.BIRTH
  746. AREA
  747. POSTCODE
  748. N.2.0.1
  749. X2.19
  750. MEDICATION
  751. DOSE
  752. QUANTITY
  753. DIRECTIONS
  754. MEDICATION1
  755. MEDICATION2
  756. X2.10
  757. X2.19
  758. X2.15
  759. X2.9
  760. MED[1]
  761. MED[2]
  762. MED[3]
  763. MED[4]
  764. MED[5]
  765. MED[6]
  766. \
  767. \STTITLE   
  768.  
  769.                                     LETTER
  770.            ┌──────────────────────────────────────────────────────┐
  771.            │      Reference      :&         ░░░░░░░░░░░░░░░░░░░░░░│
  772.            │      Private or NHS :&< (P/N)░░░░░░░░░░░░░░░░░░░░░░░░│
  773.            │      Mr.Mrs.Miss.   :&   ░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  774.            │      Patient Name   :&                          <░░░░│
  775.            │      Address        :&                     ░░░░░░░░░░│
  776.            │      GP             :& &                  ░░░░░░░░░░░│
  777.            │      Hosp.Number    :&         ░░░░░░░░░░░░░░░░░░░░░░│
  778.            │      Allergy 1    @ :&                             ░░│
  779.            │      Allergy 2    @ :&                             ░░│
  780.            │      Urgent/routine :&(UR)░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  781.            │      Consultant     :&  &                  ░░░░░░░░░░│
  782.            │      Clinic         :&  &              ░░░░░░░░░░░░░░│
  783.            │      Transport Y/N  :&░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  784.            │      Transp.Type    :&<(A,1,2,) ░░░░░░░░░░░░░░░░░░░░░│
  785.            │   Cons.Familiar Nam.:&               Copy? Y/N:&░░░░░│
  786.            └──────────────────────────────────────────────────────┘
  787.            F1 - Help  F2 - Jump   F10 - Save/Print      Esc - Menu
  788.  
  789.  
  790.  
  791.  
  792. \
  793. REFER
  794. PN
  795. X1.3
  796. PATIENT.NAME
  797. ADDRESS1
  798. LET_DOC
  799. X1.19
  800. X1.10
  801. MEDICATION1
  802. MEDICATION2
  803. U.R
  804. LET_CON
  805. X2.19
  806. LET_CLIN
  807. X2.15
  808. YN
  809. TYPE
  810. X3.15
  811. COPY
  812. \
  813. \STLETTER1S
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.   F1-Help       F10-Save/Print    F2-Jump   Esc - Exit/Menu         more ---->
  838. \
  839. \
  840. \STLETTER2S
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  F1-Help             F10-Save/Print          F2 - Jump            Esc - Exit
  865. \
  866. \
  867. \STCOPY    
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.                   ╔════════════════════════════════════════╗
  876.                   ║                                        ║
  877.                   ║                                        ║
  878.                   ║ BE PATIENT WHILE PRINTING LETTERS!     ║
  879.                   ║                                        ║
  880.                   ║                                        ║
  881.                   ╚════════════════════════════════════════╝
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892. \
  893. \
  894. \R LETTER2 
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943. \
  944. \
  945.